package com.christina.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;

/**
 * 启动信息打印器
 * 
 * @author Christina
 */
@Slf4j
@Component
public class StartupInfoPrinter {

    @Value("${server.port:8081}")
    private int serverPort;

    @Value("${spring.servlet.context-path:/api}")
    private String contextPath;

    @EventListener(ApplicationReadyEvent.class)
    public void printStartupInfo() {
        String baseUrl = "http://localhost:" + serverPort;
        
        log.info("=".repeat(80));
        log.info("🎉 Christina智能助手启动成功！");
        log.info("🧠 AI驱动的统一智能处理平台");
        log.info("=".repeat(80));
        log.info("📋 API文档地址:");
        log.info("   Swagger UI: {}/swagger-ui.html", baseUrl);
        log.info("   API Docs:   {}/v3/api-docs", baseUrl);
        log.info("");
        log.info("🚀 核心智能接口 (推荐使用):");
        log.info("   统一处理:    {}/v1/christina/process", baseUrl);
        log.info("   流式处理:    {}/v1/christina/process/stream", baseUrl);
        log.info("   健康检查:    {}/v1/christina/health", baseUrl);
        log.info("   上下文管理:  {}/v1/christina/context/{{id}}", baseUrl);
        log.info("");
        log.info("🔐 认证接口:");
        log.info("   用户注册:    {}/v1/auth/register", baseUrl);
        log.info("   用户登录:    {}/v1/auth/login", baseUrl);
        log.info("   用户登出:    {}/v1/auth/logout", baseUrl);
        log.info("");
        log.info("🔧 测试接口:");
        log.info("   基础测试:    {}/v1/test/hello", baseUrl);
        log.info("   Redis测试:  {}/v1/test/redis", baseUrl);
        log.info("   RabbitMQ测试: {}/v1/test/rabbitmq", baseUrl);
        log.info("");
        log.info("📦 兼容接口 (已弃用):");
        log.info("   任务管理:    {}/v1/task/*", baseUrl);
        log.info("   迁移提示:    {}/v1/task/migration-notice", baseUrl);
        log.info("");
        log.info("🌟 智能功能:");
        log.info("   ✅ 自然语言理解 - 支持中英文对话");
        log.info("   ✅ 意图识别引擎 - 智能识别用户需求");
        log.info("   ✅ 上下文感知 - 记住对话历史");
        log.info("   ✅ 个性化服务 - 基于用户偏好");
        log.info("   ✅ 多领域支持 - 聊天、出行、任务管理");
        log.info("");
        log.info("💡 快速开始:");
        log.info("   1. 注册账号: POST {}/v1/auth/register", baseUrl);
        log.info("   2. 登录获取令牌: POST {}/v1/auth/login", baseUrl);
        log.info("   3. 智能对话: POST {}/v1/christina/process", baseUrl);
        log.info("      请求示例: {{\"userInput\": \"你好，我想了解Christina的功能\"}}");
        log.info("");
        log.info("🔑 认证方式:");
        log.info("   请求头添加: Authorization: Bearer <your-jwt-token>");
        log.info("");
        log.info("📊 系统架构:");
        log.info("   🧠 AI引擎层: 意图识别 + 上下文管理 + 智能决策");
        log.info("   🏗️ 业务服务层: 聊天 + 出行 + 用户管理");
        log.info("   🔧 基础设施层: Redis缓存 + RabbitMQ消息队列");
        log.info("=".repeat(80));
    }
}